package com.ruoyi.ncpsy.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 播种事件记录对象 ncpsy_sowing_info
 * 
 * @author ruoyi
 * @date 2025-08-30
 */
public class NcpsySowingInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long sowId;

    /** 作物事件ID */
    @Excel(name = "作物事件ID")
    private Long cropEventId;

    /** 种子ID */
    private Long seedId;

    /** 作物ID */
    @Excel(name = "作物ID")
    private Long cropId;

    /** 播种日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "播种日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date sowingDate;

    /** 播种方法 */
    private String sowingMethod;

    /** 播种密度 */
    private BigDecimal sowingDensity;

    /** 种子总重 */
    private BigDecimal seedTotalWeight;

    /** 播种图片 */
    private String sowingImage;

    /** 播种密度单位 */
    private String densityUnit;

    /** 播种总重单位 */
    private String weightUnit;

    /** 操作人 */
    @Excel(name = "操作人")
    private String operatorId;

    public void setSowId(Long sowId) 
    {
        this.sowId = sowId;
    }

    public Long getSowId() 
    {
        return sowId;
    }

    public void setCropEventId(Long cropEventId) 
    {
        this.cropEventId = cropEventId;
    }

    public Long getCropEventId() 
    {
        return cropEventId;
    }

    public void setSeedId(Long seedId) 
    {
        this.seedId = seedId;
    }

    public Long getSeedId() 
    {
        return seedId;
    }

    public void setCropId(Long cropId) 
    {
        this.cropId = cropId;
    }

    public Long getCropId() 
    {
        return cropId;
    }

    public void setSowingDate(Date sowingDate) 
    {
        this.sowingDate = sowingDate;
    }

    public Date getSowingDate() 
    {
        return sowingDate;
    }

    public void setSowingMethod(String sowingMethod) 
    {
        this.sowingMethod = sowingMethod;
    }

    public String getSowingMethod() 
    {
        return sowingMethod;
    }

    public void setSowingDensity(BigDecimal sowingDensity) 
    {
        this.sowingDensity = sowingDensity;
    }

    public BigDecimal getSowingDensity() 
    {
        return sowingDensity;
    }

    public void setSeedTotalWeight(BigDecimal seedTotalWeight) 
    {
        this.seedTotalWeight = seedTotalWeight;
    }

    public BigDecimal getSeedTotalWeight() 
    {
        return seedTotalWeight;
    }

    public void setSowingImage(String sowingImage) 
    {
        this.sowingImage = sowingImage;
    }

    public String getSowingImage() 
    {
        return sowingImage;
    }

    public void setDensityUnit(String densityUnit) 
    {
        this.densityUnit = densityUnit;
    }

    public String getDensityUnit() 
    {
        return densityUnit;
    }

    public void setWeightUnit(String weightUnit) 
    {
        this.weightUnit = weightUnit;
    }

    public String getWeightUnit() 
    {
        return weightUnit;
    }

    public void setOperatorId(String operatorId) 
    {
        this.operatorId = operatorId;
    }

    public String getOperatorId() 
    {
        return operatorId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("sowId", getSowId())
            .append("cropEventId", getCropEventId())
            .append("seedId", getSeedId())
            .append("cropId", getCropId())
            .append("sowingDate", getSowingDate())
            .append("sowingMethod", getSowingMethod())
            .append("sowingDensity", getSowingDensity())
            .append("seedTotalWeight", getSeedTotalWeight())
            .append("sowingImage", getSowingImage())
            .append("densityUnit", getDensityUnit())
            .append("weightUnit", getWeightUnit())
            .append("operatorId", getOperatorId())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
